package com.example.autocode.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 编码器分段
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName(value = "auto_code_part")
public class AutoCodePart implements Serializable {
    @TableId
    private String id;
    /**
     * 编码器code
     */
    private String parentCode;

    /**
     * 序号
     */
    private Integer partIndex;

    /**
     * 分段类型，1-传入字符，2-当前日期时间，3-固定字符，4-流水号
     */
    private String partType;

    /**
     * 分段 编码
     */
    private String partCode;

    /**
     * 分段名称
     */
    private String partName;

    /**
     * 分段长度
     */
    private Integer partLength;

    /**
     * 日期时间格式字符串，当分段规则类型为当前日期时间时生效
     */
    private String datetimeFormat;

    /**
     * 传入字符，类型为传入字符时有效
     */
    private String inputCharacter;

    /**
     * 固定字符内容，当分段规则类型为固定字符时有效
     */
    private String fixChars;

    /**
     * 流水号起始值，当分段规则类型为流水号时有效
     */
    private Integer serialStartNo;

    /**
     * 流水号步长，当分段规则类型为流水号时有效
     */
    private Integer serialStep;

    /**
     * 流水号是否循环 1：是 0：否
     */
    private String isSerialCycle;

    /**
     * 循环方式，1-按年，2-按月，3-按日，4-按时，5-按分，6-按传入字符改变
     */
    private String cycleMethod;

}